/**
 * 设计模式之外观模式
 * 此处以家庭影院为例
 * 子系统包括： dvd、projector、screen
 * 外观类： HomeTheaterFacade
 * 外观类封装了子系统的功能，使子系统更易用
 * 优点：
 * 1. 封装性： 外观类封装了子系统的功能，使子系统更易用
 * 2. 迪米特法则： 外观类只与外观类直接相连，而不与子系统的类相连
 * 3. 开闭原则： 外观类是抽象类，子类继承了抽象类，子类可以扩展抽象类，而不需要修改抽象类
 * 4. 依赖倒置原则： 外观类依赖抽象类，子类依赖抽象类，抽象类不依赖子类
 * 5. 接口隔离原则： 外观类只与外观类直接相连，而不与子系统的类相连
 * 6. 单一职责原则： 外观类只负责外观类的功能，而不负责子系统的功能
 * @author created by Zhou Zongbo on 2025/9/24.
 */
package com.ruoyi.system.designpattern.wrapper;